In recent years, the availability and provision of multimedia and entertainment content has increased substantially. For example, the number of available television and radio channels has grown considerably and the popularity of the Internet has provided new content distribution means. Consequently, users are increasingly provided with a plethora of different types of content from different sources. In order to identify and select the desired content, the user must typically process large amounts of information which can be very cumbersome and impractical.
Accordingly, significant resources have been invested in research into techniques and algorithms that may provide an improved user experience and assist a user in identifying and selecting content.
For example, Digital Video Recorders (DVRs) or Personal Video Recorders (PVRs) have become increasingly popular and are increasingly replacing conventional Video Cassette Recorders (VCRs) as the preferred choice for recording television broadcasts. Such DVRs (in the following the term DVR is used to denote both DVRs and PVRs) are typically based on storing the recorded television programs in a digital format on a hard disk or optical disc. Furthermore, DVRs can be used both for analogue television transmissions (in which case a conversion to a digital format is performed as part of the recording process) as well as for digital television transmissions (in which case the digital television data can be stored directly).
Increasingly, devices, such as televisions or DVRs provide new and enhanced functions and features which provide an improved user experience. For example, televisions or DVRs can comprise functionality for providing recommendations of television programs to the user. More specifically, such devices can comprise functionality for monitoring the viewing/recording preferences of a user. These preferences can be stored in a user preference profile and subsequently can be used to autonomously select and recommend suitable television programs for viewing or recording.
Such functionality may substantially improve the user experience. Indeed, with hundreds of broadcast channels diffusing thousands of television programs per day, the user may quickly become overwhelmed by the offering and therefore may not fully benefit from the availability of content. Furthermore, the task of identifying and selecting suitable content becomes increasingly difficult and time-consuming. The ability of devices to provide recommendations of television programs of potential interest to the user substantially facilitates this process.
In order to enhance the user experience, it is advantageous to personalize the recommendations to the individual user. The recommendation procedure includes predicting how much a user may like a particular content item and recommending it if it is considered of sufficient interest. The process of generating recommendations requires that user preferences have been captured so that they can be used as input by the prediction algorithm.
There are two main techniques used to collect user preferences. The first approach is to explicitly obtain user preferences by the user(s) manually inputting their preferences, for example by manually providing feedback on content items that the user(s) particularly liked or disliked. The other approach is to implicitly obtain user preferences by the system monitoring user actions to infer their preferences.
Explicit feedback tends to require substantial input by the user(s) and is often considered cumbersome and inconvenient by the users. This approach is therefore not ideal in the context of e.g. television viewing which is characterized by being a low effort and highly passive activity. Accordingly, it is desirable that the generation of a user preference profile or mode for the user(s) is at least partly based on implicit feedback.
Implicit preference systems acquire information indicative of user preferences by observing the user's behaviour when consuming content. A set of positive and negative preference examples is typically identified and used to train a learning algorithm which then creates a model of the user preferences. The recommendation system may then use this preference model to generate personalized recommendations.
Such mechanisms are increasingly used as part of Internet services. However, in other content consuming applications, such as television viewing, the approach tends to be less efficient as the approach is complicated by the interactions between the user and the device being more disconnected and passive than for an Internet application. Indeed, much of the information used in the Internet domain (such as click-streams, previous purchases or time spent on a particular page, etc.) are simply not available or appropriate in the television watching domain or do not provide sufficient accuracy.
However, it has been proposed to base recommendation systems for television watching applications on monitoring different user actions and interactions. For example, if a user has watched or has recorded a program then this may be considered to indicate that the user has a preference for this program. Such preference indications may be used to construct training examples for generating a user preference model.
However, much of the proposed implicit information tends to be relatively unreliable. Indeed, there are many factors that influence the user's selection of a program. For example, users will often watch programs they do not necessarily like or will miss their favourites programs. Accordingly, the training data for the user preference model is often suboptimal resulting in a suboptimal user preference model and thus in reduced accuracy of the generated recommendations.
Therefore, an improved system for content item recommendation would be advantageous. In particular, a system allowing an improved user experience, increased flexibility, reduced complexity, improved user preference models, reduced need for user inputs, improved accuracy and/or improved performance would be advantageous.